package com.flowerplus.store.common.data.injector.module;//package com.ems358.cms.common.data.injector.module;
//
//import android.content.Context;
//
//import com.ems358.cms.data.db.DBOpenHelper;
//import com.ems358.cms.common.data.utils.Logger;
//import com.ems358.cms.common.data.utils.SpUtil;
//import com.ems358.cms.common.structure.key.TokenKey;
//import com.ems358.cms.data.db.DaoFactory;
//import com.ems358.cms.data.db.greendao.ChatBackgroundDao;
//import com.ems358.cms.data.db.greendao.ChatTakeDao;
//import com.ems358.cms.data.db.greendao.DaoMaster;
//import com.ems358.cms.data.db.greendao.DaoSession;
//import com.ems358.cms.data.db.greendao.FriendTempDataDao;
//import com.ems358.cms.data.db.greendao.FriendsLocalBeanDao;
//import com.ems358.cms.data.db.greendao.FriendsRequestSessionLocalDao;
//import com.ems358.cms.data.db.greendao.GroupChatTakeDao;
//import com.ems358.cms.data.db.greendao.GroupListDao;
//import com.ems358.cms.data.db.greendao.SessionDao;
//import com.ems358.cms.data.db.greendao.UserDbBeanDao;
//
//import javax.inject.Singleton;
//
//import dagger.Module;
//import dagger.Provides;
//
///**
// * Created by sll on 2015/3/4.
// */
//@Module
//public class DBModule {
//    Context mContext;
//
//    public DBModule(Context context) {
//        mContext = context;
//    }
//
//    @Provides
//    @Singleton
//    DBOpenHelper providesDatabaseOpenHelper(Context context, SpUtil spUtil) {
//        String userId = spUtil.getString(TokenKey.USER_ID);
//        DBOpenHelper dbOpenHelper = new DBOpenHelper(context, userId + ".db");
//        Logger.d("providesDatabaseOpenHelper:" + dbOpenHelper.hashCode());
//        return dbOpenHelper;
//    }
//
//    @Provides
//    @Singleton
//    DaoMaster providesDaoMaster(DBOpenHelper helper) {
//        Logger.d("providesDaoMaster");
//        return new DaoMaster(helper.getWritableDb());
//    }
//
//    @Provides
//    @Singleton
//    DaoSession providesDaoSession(SpUtil spUtil) {
//
//        String userId = spUtil.getString(TokenKey.USER_ID);
//        DaoSession daoSession = DaoFactory.createDaoSession(userId);
//        return daoSession;
//    }
//
//    @Provides
//    @Singleton
//    UserDbBeanDao providesUserDao(DaoSession session) {
//        Logger.d("providesUserDao");
//        return session.getUserDbBeanDao();
//    }
//
//    @Provides
//    @Singleton
//    FriendsLocalBeanDao providesFriendsLocalBeanDao(DaoSession session) {
//        return session.getFriendsLocalBeanDao();
//    }
//
//    @Provides
//    @Singleton
//    FriendsRequestSessionLocalDao providesFriendsRequestSessionLocalDao(DaoSession session) {
//        return session.getFriendsRequestSessionLocalDao();
//    }
//
//
//    @Provides
//    @Singleton
//    ChatTakeDao providesChatTakeDao(DaoSession session) {
//        return session.getChatTakeDao();
//    }
//
//    @Provides
//    @Singleton
//    GroupChatTakeDao providesGroupChatTakeDao(DaoSession session) {
//        return session.getGroupChatTakeDao();
//    }
//
//    @Provides
//    @Singleton
//    SessionDao providesSessionDao(DaoSession session) {
//        return session.getSessionDao();
//    }
//
//    @Provides
//    @Singleton
//    GroupListDao providesGroupListDao(DaoSession session) {
//        return session.getGroupListDao();
//    }
//
//    @Provides
//    @Singleton
//    FriendTempDataDao providesFriendTempDataDao(DaoSession session) {
//        return session.getFriendTempDataDao();
//    }
//
//    @Provides
//    @Singleton
//    ChatBackgroundDao providesChatBackgroundDao(DaoSession session) {
//        return session.getChatBackgroundDao();
//    }
//}
